This invention generally relates to the field of LSI design automation. More particularly it pertains to a design automation system for design of an LSI (large scale integrated circuit) capable of making optimum reuse of existing design resources, and to an LSI design automation method for use by an LSI design automation system.
A high-performance LSI requires a design technique capable of making optimum reuse of existing design resources (hereinafter called the resource-reusable design technique).
The resource-reusable design is performed based on the information about the function and performance of an existing design resource. However, layout data for use by a resource-reusable design method is fixed in, for example, the circuit area. Reuse of such layout data produces some problems, since it lacks flexibility. For example, it cannot deal with a partial functional modification. On the other hand, there is a technique known in the art. In this technique, data is reused which is written by a Hardware Description Language (HDL) capable of flexible reuse of existing design resources. However, this technique is most likely to fail to generate a circuit conforming to the designer's function and performance requirements.
There has been offered an approach. In this approach not only circuit data but also associated design method information is reused with a view to optimizing the design resource performance and implementing a resource-reusable design technique with broad flexibility. Matsumoto et al reported a technique in a paper entitled "An Object-Oriented Method for Automatic Custom LSI Design," the Journal of Information Processing Society of Japan, 45th National Fitting (1992), Vol. 6, pp. 19-20. In accordance with this technique, circuit data, design method information, and other information of a design resource are collectively stored as a circuit component and reused in order to improve the efficiency of LSI design.
Where an LSI is practically designed using a resource-reusable design technique, many circuit components with different functions are combined to implement more sophisticated functions. However, a finally-obtained LSI resulting from the above-noted design method produces the problem that it does not conform to the timing requirements although it functions as designed. This method is not able to generate a desired circuit.
Practically, the timing, the circuit form, and the like must be changed by partly modifying a component, by changing design method information contained in a component, and by replacing a component with another component, to implement a circuit capable of fitting the requirements specification. However, practically it is not easy to modify circuit data and design method information for reuse purposes. Neither an optimum combination of components nor layout information necessary for implementation of a specific function is defined. Therefore the information about a combination of components capable of fitting a requirements specification must be found by trial-and-error.
To facilitate a way of modifying a component and to implement a way of defining an optimum combination of components are considered important.
If a change in the design rules (e.g., the technology change and the design tool change) is required, this will be a bar to the reuse of existing design resources. Especially, for the case of a design system that makes reuse of circuit data as well as design method information to automatically design an LSI, the circuit data change and the design method information change must be made according to the change in the design rules, and circuit data and design method information conforming to such a change must be extracted and stored.
Accordingly, construction of a frame for efficiently making changes in the circuit data and the design method information according to the design rule change becomes a critical subject.